package com.geek.enhnce.plugin.manager;

import java.util.List;

/**
 * 插件管理抽象接口
 * @author lenovo
 *
 */
public interface SpringPluginFactory {
	/**
	 * 激活指定插件
	 * @param pluginId
	 */
	void activePlugin(String pluginId);
	
	/**
	 * 禁用指定插件
	 * @param pluginId
	 */
	void disablePlugin(String pluginId);
	
	/**
	 * 安装插件
	 * @param plugin
	 * @param load
	 */
	void installPlugin(PluginConfig plugin , Boolean load);
	
	/**
	 * 卸载插件
	 * @param plugin
	 */
	void uninstallPlugin(PluginConfig plugin);
	
	/**
	 * 加载远程插件列表
	 * @return
	 */
	List<PluginConfig> getPluginList();
}
